//proxy 实现响应式

// 基本使用

// Reflect
    //和proxy能力 一一对应

    //规范化，标准化，函数式；

    //代替Object的工具函数；


    // Object.getOwnPropertyNames(obj)
    // Reflect.ownKeys(obj)
// 实现响应式

//对象
// const data = {
//     name: 'zhangsan',
//     age: 20
// }

//数组
const data = ['a','b','c']

const proxyData = new Proxy(data,{
    get(target,key,receiver){
        const result = Reflect.get(target,key,receiver)
        console.log('get',key)
        return result //返回结果
    },
    set(target,key,val,receiver){
        const result = Reflect.set(target,key,val,receiver)
        console.log('set',key,val)
        console.log('result',result)
        return result //是否设置成功

    },
    deleteProperty(target,key){
        const result = Reflect.deleteProperty(target,key)
        console.log('delete property',key)
        console.log('result',result)
        return result  
    }
})
